package com.zhangtai.modules.dto;

import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


/**
 * 员工借调
 *
 */
@Data
public class EmployeeSecondmentDto implements Serializable {
	private static final long serialVersionUID = 1L;

			/**
		 * 借调id
		 */
				@TableId
		@JsonDeserialize(using = LongJsonDeserializer.class)
		@JsonSerialize(using = LongJsonSerializer.class)
			private Long id;
			/**
		 * 员工oid
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long oid;
		/**
		 * 员工工号
		 */
		private String  code;
	/**
	 * 员工姓名
	 */
	private String  name;


	/**
		 * 原公司id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long orgId;
			private String orgName;
			/**
		 * 原部门id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long unitId;
			private String unitName;
			/**
		 * 原职位id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long jobId;
	private String jobName;
			/**
		 * 借调公司id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long secondmentOrgId;
	private String secondmentOrgName;
			/**
		 * 借调部门id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long secondmentUnitId;
	private String secondmentUnitName;
			/**
		 * 借调职位id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long secondmentJobId;
	private String secondmentJobName;
			/**
		 * 调出日期
		 */
			private Date outTime;
			/**
		 * 借调结束时间
		 */
			private Date endTime;
			/**
		 * 预计借调结束时间
		 */
			private Date expectedEndTime;
			/**
		 * 调入部门承担成本比例
		 */
			private BigDecimal proportion;
			/**
		 * 借调原因
		 */
			private String  reason;
			/**
		 * 附件地址
		 */
			private String fileUrl;
			/**
		 * 审批状态： 0 待发起 1借调审批中 2借调中 3结束审批中 4 已经结束
		 */
			private Integer status;
			/**
		 * bpm详情
		 */
			private String bpmUrl;
			/**
		 * 创建时间
		 */
			private Date createTime;
			/**
		 * 创建code
		 */
			private String createCode;
			/**
		 * 创建人名字
		 */
			private String createName;
			/**
		 * bpm借调结束详情
		 */
			private String bpmEndUrl;
	/**
	 * 异地补贴
	 */
	private BigDecimal subsidy;

	/**
	 * 原补贴结束时间
	 */
	@ApiModelProperty(value="原补贴结束时间")
	private Date beforeSubsidyEnd;
	/**
	 * 原补贴金额
	 */
	@ApiModelProperty(value="原补贴金额")
	private BigDecimal beforeSubsidy;
	/**
	 * 原补贴id
	 */
	@ApiModelProperty(value="原补贴id")
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long beforeSubsidyId;
	/**
	 * 调整后补贴
	 */
	@ApiModelProperty(value="调整后补贴")
	private BigDecimal afterSubsidy;
	/**
	 * 调整后补贴开始时间
	 */
	@ApiModelProperty(value="调整后补贴开始时间")
	private Date afterSubsidyStart;
	/**
	 * 调整后补贴结束时间
	 */
	@ApiModelProperty(value="调整后补贴结束时间")
	private Date afterSubsidyEnd;
}
